package com.sigmatrix.h5.service;

import java.util.List;

import com.sigmatrix.h5.entity.DisDealerAcctRegAudit;
import com.sigmatrix.h5.web.args.DealerAuditParam;
import com.sigmatrix.h5.web.args.DealerRegParam;
import com.sigmatrix.h5.web.args.ShopAuditParam;
import com.sigmatrix.h5.web.mode.DealerRegMode;
import com.sigmatrix.sc.jdbc.common.lang.Page;
import com.sigmatrix.sc.jdbc.common.service.Service;

/**
 * 
 *@ClassName: DisDealerAcctRegAuditService
 *@Description: 经销商反向注册审核记录
 *@author MH
 *@date 2017年11月8日 上午9:20:54
 */
public interface DisDealerAcctRegAuditService extends Service<DisDealerAcctRegAudit, Integer>{
	
	/**
	 * 
	 *@Title: findDealerRegPage
	 *@Description: 查询经销商审核记录，applyType = 2
	 *@return Page<DealerRegMode>
	 *@author MH
	 *@date 2017年11月8日 上午9:49:24
	 *@param vo
	 *@return
	 */
	Page<DealerRegMode> findDealerRegPage(DisDealerAcctRegAudit vo,int pageNo,int pageSize);
	
	/**
	 * 
	 *@Title: regist
	 *@Description: 注册经销商
	 *@return DealerRegMode
	 *@author MH
	 *@date 2017年11月8日 上午11:10:17
	 *@param registInfo
	 *@return
	 */
	DealerRegMode regist(DealerRegParam registInfo);
	
	/**
	 * 
	 *@Title: audit
	 *@Description: 经销商反向注册审核
	 *@return boolean
	 *@author MH
	 *@date 2017年11月10日 下午5:08:45
	 *@param param
	 *@return
	 */
	void auditDealer(DealerAuditParam param);

	DisDealerAcctRegAudit findLastByOpenId(String openId);
	
	/**
	 * 
	 *@Title: findAuditList
	 *@Description: 查询审核列表
	 *@return Page<DisDealerAcctRegAudit>
	 *@author MH
	 *@date 2018年1月16日 下午4:55:46
	 *@param po
	 *@param pageNo
	 *@param pageSize
	 *@return
	 */
	Page<DisDealerAcctRegAudit> findAuditList(DisDealerAcctRegAudit po, int pageNo, int pageSize);
	
	/**
	 * 
	 *@Title: audit
	 *@Description:审核
	 *@return void
	 *@author MH
	 *@date 2018年1月16日 下午5:22:44
	 *@param vo
	 */
	void audit(DisDealerAcctRegAudit vo);
	
	/**
	 * 
	 *@Title: audit
	 *@Description:批量审核
	 *@return void
	 *@author MH
	 *@date 2018年1月16日 下午5:36:00
	 *@param vo
	 */
	void audit(List<ShopAuditParam> vo);

	DisDealerAcctRegAudit findRegistShopByAccountAndDealerId(String account, Integer dealerId);

	void submitAgin(Integer id, String shopCode);
	/**
	 * 
	 *@Title: findRegistShopByOpenId
	 *@Description:通过openId查询申请的终端门店
	 *@return List<DisDealerAcctRegAudit>
	 *@author MH
	 *@date 2018年1月23日 上午9:05:47
	 *@param openId
	 *@return
	 */
	List<DisDealerAcctRegAudit> findRegistShopByOpenId(String openId);

	/**
	 *@Title: auditShop
	 *@Description:审核终端门店供mgt调用
	 *@return void
	 *@author wjwei
	 *@date 2018年3月6日 下午2:39:45
	 *@param param
	 */
	void auditShop(ShopAuditParam param);

	/**
	 *@Title: validateAudit
	 *@Description:添加已经提交申请未审核完成的用户提示信息
	 *@return boolean
	 *@author wjwei
	 *@date 2018年3月8日 上午10:27:49
	 *@param loginName
	 *@return
	 */
	void validateAudit(String loginName);
	
}
